[INFO] cloning repository https://github.com/diederikwp/aoc23
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/diederikwp/aoc23" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiederikwp%2Faoc23", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiederikwp%2Faoc23'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 898761def981e6c1786e7401fd83e1fe77d9447b
[INFO] checking diederikwp/aoc23 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiederikwp%2Faoc23" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/diederikwp/aoc23 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/diederikwp/aoc23
[INFO] finished tweaking git repo https://github.com/diederikwp/aoc23
[INFO] tweaked toml for git repo https://github.com/diederikwp/aoc23 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/diederikwp/aoc23 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1962e33e0c56c499ac273dd8156431b26fbea0bc1b295d2203353c52d7e3fbd1
[INFO] running `Command { std: "docker" "start" "-a" "1962e33e0c56c499ac273dd8156431b26fbea0bc1b295d2203353c52d7e3fbd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1962e33e0c56c499ac273dd8156431b26fbea0bc1b295d2203353c52d7e3fbd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1962e33e0c56c499ac273dd8156431b26fbea0bc1b295d2203353c52d7e3fbd1", kill_on_drop: false }`
[INFO] [stdout] 1962e33e0c56c499ac273dd8156431b26fbea0bc1b295d2203353c52d7e3fbd1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cfe77bc5eceef00d31484fff2b5323fd3a5269814992af01c6484f9a235dc0b1
[INFO] running `Command { std: "docker" "start" "-a" "cfe77bc5eceef00d31484fff2b5323fd3a5269814992af01c6484f9a235dc0b1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking advent_of_code v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `direction` is never used
[INFO] [stdout]    --> src/puzzles/d17.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | trait Node: Clone + std::hash::Hash + Ord + Sized {
[INFO] [stdout]     |       ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn direction(&self) -> Direction;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `direction` is never used
[INFO] [stdout]    --> src/puzzles/d17.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | trait Node: Clone + std::hash::Hash + Ord + Sized {
[INFO] [stdout]     |       ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn direction(&self) -> Direction;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.00s
[INFO] running `Command { std: "docker" "inspect" "cfe77bc5eceef00d31484fff2b5323fd3a5269814992af01c6484f9a235dc0b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfe77bc5eceef00d31484fff2b5323fd3a5269814992af01c6484f9a235dc0b1", kill_on_drop: false }`
[INFO] [stdout] cfe77bc5eceef00d31484fff2b5323fd3a5269814992af01c6484f9a235dc0b1
[INFO] checking diederikwp/aoc23 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdiederikwp%2Faoc23" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/diederikwp/aoc23 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/diederikwp/aoc23
[INFO] finished tweaking git repo https://github.com/diederikwp/aoc23
[INFO] tweaked toml for git repo https://github.com/diederikwp/aoc23 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/diederikwp/aoc23 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd6eb0dd6019be93067f2709176fb083cf0c3603b9eaa3106fe4b6030315f8bb
[INFO] running `Command { std: "docker" "start" "-a" "bd6eb0dd6019be93067f2709176fb083cf0c3603b9eaa3106fe4b6030315f8bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd6eb0dd6019be93067f2709176fb083cf0c3603b9eaa3106fe4b6030315f8bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd6eb0dd6019be93067f2709176fb083cf0c3603b9eaa3106fe4b6030315f8bb", kill_on_drop: false }`
[INFO] [stdout] bd6eb0dd6019be93067f2709176fb083cf0c3603b9eaa3106fe4b6030315f8bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cc814dc80d81ed3340235321836794d697ebd0bd0cecf02db6881960942a55e0
[INFO] running `Command { std: "docker" "start" "-a" "cc814dc80d81ed3340235321836794d697ebd0bd0cecf02db6881960942a55e0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking pico-args v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking getrandom v0.2.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking advent_of_code v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d03.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |                     for x in token.x..(token.x + token.txt.len()) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d03.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 txt: &self.txt[startpos..(startpos + len)],
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d03.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 txt: &self.txt[pos..(pos + 1)],
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:102:38
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     transformed.push(range.start..mr.from.start);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:103:38
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     transformed.push(mr.to_start..(mr.to_start + range.end - mr.from.start));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     transformed.push(range.start..mr.from.start);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:108:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     transformed.push(mr.to_start..(mr.to_start + mr.len()));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     range = mr.from.end..range.end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 | /                         (mr.to_start + range.start - mr.from.start)
[INFO] [stdout] 113 | |                             ..(mr.to_start + range.end - mr.from.start),
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         (mr.to_start + range.start - mr.from.start)..(mr.to_start + mr.len()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     range = mr.from.end..range.end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 from: from_start..(from_start + len),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d07.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut argsort_hands: Vec<usize> = (0..self.hands.len()).collect();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d07.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (0..self.hands.len())
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/puzzles/d07.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         if ('2'..='9').contains(&c) || "AKQJT".contains(c) {
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/puzzles/d07.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         if ('2'..='9').contains(&c) || "AKQJT".contains(c) {
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d08.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let to_str = to_str.get(1..(to_str.len() - 1)).ok_or("Invalid syntax")?;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d09.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         for i in 1..self.prev_diffs.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for j in 0..=first_spring {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for i in 1..n {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |             for j in 1..m {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 (self.row[(j - group_len)..j]
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:118:18
[INFO] [stdout]     |
[INFO] [stdout] 118 |         for _ in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:120:54
[INFO] [stdout]     |
[INFO] [stdout] 120 |             extended_row.extend_from_slice(&self.row[1..]); // skip the prepended '.'
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |         for _ in 0..5 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for row_idx in 0..(height - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for col_idx in 0..(width - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:73:24
[INFO] [stdout]    |
[INFO] [stdout] 73 |         for row_idx in 0..(height - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for col_idx in 0..(width - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |         for delta in 0..usize::min(row_idx + 1, height - row_idx - 1) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:106:22
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for delta in 0..usize::min(row_idx + 1, height - row_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |         for delta in 0..usize::min(col_idx + 1, width - col_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |         for delta in 0..usize::min(col_idx + 1, width - col_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d03.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |                     for x in token.x..(token.x + token.txt.len()) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |             for i in 0..col.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for i in (0..row.len()).rev() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |             for i in (0..col.len()).rev() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for i in 0..row.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for i in 0..n_iter {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d03.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |                 txt: &self.txt[startpos..(startpos + len)],
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 |         for x in 0..width {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for y in 0..height {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for x in 0..width {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d03.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |                 txt: &self.txt[pos..(pos + 1)],
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |         for y in 0..height {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:120:18
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .get(2..8)
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:127:41
[INFO] [stdout]     |
[INFO] [stdout] 127 |             u8::from_str_radix(&rgb_str[0..2], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:128:41
[INFO] [stdout]     |
[INFO] [stdout] 128 |             u8::from_str_radix(&rgb_str[2..4], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:102:38
[INFO] [stdout]     |
[INFO] [stdout] 102 |                     transformed.push(range.start..mr.from.start);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |             u8::from_str_radix(&rgb_str[4..6], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut xmas = s[1..(s.len() - 1)].split(',');
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:123:63
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:103:38
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     transformed.push(mr.to_start..(mr.to_start + range.end - mr.from.start));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:127:63
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:107:38
[INFO] [stdout]     |
[INFO] [stdout] 107 |                     transformed.push(range.start..mr.from.start);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:135:63
[INFO] [stdout]     |
[INFO] [stdout] 135 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |             x: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |             m: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:108:38
[INFO] [stdout]     |
[INFO] [stdout] 108 |                     transformed.push(mr.to_start..(mr.to_start + mr.len()));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:159:16
[INFO] [stdout]     |
[INFO] [stdout] 159 |             a: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:160:16
[INFO] [stdout]     |
[INFO] [stdout] 160 |             s: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |         min..max
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout] 109 |                     range = mr.from.end..range.end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:317:29
[INFO] [stdout]     |
[INFO] [stdout] 317 |             action_str = &s[(pos + 1)..];
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let value = s[2..].parse()?;
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 | /                         (mr.to_start + range.start - mr.from.start)
[INFO] [stdout] 113 | |                             ..(mr.to_start + range.end - mr.from.start),
[INFO] [stdout]     | |_______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d20.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |         for _ in 0..n_presses {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         (mr.to_start + range.start - mr.from.start)..(mr.to_start + mr.len()),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d21.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for n in 0..n_steps {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |                     range = mr.from.end..range.end;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d21.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for _ in 2..n_periods {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:151:23
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 from: from_start..(from_start + len),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut bricks_argsort_top: Vec<usize> = (0..bricks.len()).collect();
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:173:40
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(map.transform_range(0..15), vec![39..54]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for idx in 0..bricks.len() {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:173:53
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(map.transform_range(0..15), vec![39..54]);
[INFO] [stdout]     |                                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:81:55
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for idx_brick_below in bricks_argsort_top[0..idx_first_not_below].iter().rev() {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:174:40
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(map.transform_range(0..16), vec![39..54, 0..1]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:174:53
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(map.transform_range(0..16), vec![39..54, 0..1]);
[INFO] [stdout]     |                                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d22.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 |             for brick_above in &self.0[(idx + 1)..] {
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:174:61
[INFO] [stdout]     |
[INFO] [stdout] 174 |         assert_eq!(map.transform_range(0..16), vec![39..54, 0..1]);
[INFO] [stdout]     |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d23.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |         for y in 1..(height - 1) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d23.rs:265:22
[INFO] [stdout]     |
[INFO] [stdout] 265 |             for x in 1..(width - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:175:40
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(map.transform_range(0..52), vec![39..54, 0..37]);
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for i in 0..self.0.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:175:53
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(map.transform_range(0..52), vec![39..54, 0..37]);
[INFO] [stdout]     |                                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:175:61
[INFO] [stdout]     |
[INFO] [stdout] 175 |         assert_eq!(map.transform_range(0..52), vec![39..54, 0..37]);
[INFO] [stdout]     |                                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |             for j in (i + 1)..self.0.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let mut intersections = zip(0..n, 1..n).map(|(i, j)| {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:177:33
[INFO] [stdout]     |
[INFO] [stdout] 177 |             map.transform_range(0..60),
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let mut intersections = zip(0..n, 1..n).map(|(i, j)| {
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |             vec![39..54, 0..37, 52..55, 37..39, 57..60]
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:79:40
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut z_intersections = (0..n).map(|i| {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:178:26
[INFO] [stdout]     |
[INFO] [stdout] 178 |             vec![39..54, 0..37, 52..55, 37..39, 57..60]
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d25.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let remaining_edges = edges[n..]
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:178:33
[INFO] [stdout]     |
[INFO] [stdout] 178 |             vec![39..54, 0..37, 52..55, 37..39, 57..60]
[INFO] [stdout]     |                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d25.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let parents = (0..elem2idx.len()).collect();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:178:41
[INFO] [stdout]     |
[INFO] [stdout] 178 |             vec![39..54, 0..37, 52..55, 37..39, 57..60]
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |     s.replace_range(positions.pos_start..positions.pos_end, &table);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:178:49
[INFO] [stdout]     |
[INFO] [stdout] 178 |             vec![39..54, 0..37, 52..55, 37..39, 57..60]
[INFO] [stdout]     |                                                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/template/runner.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for _ in 0..bench_iterations {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:180:40
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(map.transform_range(40..56), vec![25..37, 52..55, 37..38]);
[INFO] [stdout]     |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:180:54
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(map.transform_range(40..56), vec![25..37, 52..55, 37..38]);
[INFO] [stdout]     |                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:180:62
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(map.transform_range(40..56), vec![25..37, 52..55, 37..38]);
[INFO] [stdout]     |                                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d05.rs:180:70
[INFO] [stdout]     |
[INFO] [stdout] 180 |         assert_eq!(map.transform_range(40..56), vec![25..37, 52..55, 37..38]);
[INFO] [stdout]     |                                                                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d07.rs:42:46
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let mut argsort_hands: Vec<usize> = (0..self.hands.len()).collect();
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d07.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         (0..self.hands.len())
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/puzzles/d07.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         if ('2'..='9').contains(&c) || "AKQJT".contains(c) {
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/puzzles/d07.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         if ('2'..='9').contains(&c) || "AKQJT".contains(c) {
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d08.rs:106:37
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let to_str = to_str.get(1..(to_str.len() - 1)).ok_or("Invalid syntax")?;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d09.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 |         for i in 1..self.prev_diffs.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:74:18
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for j in 0..=first_spring {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for i in 1..n {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d12.rs:80:22
[INFO] [stdout]    |
[INFO] [stdout] 80 |             for j in 1..m {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 (self.row[(j - group_len)..j]
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:118:18
[INFO] [stdout]     |
[INFO] [stdout] 118 |         for _ in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:120:54
[INFO] [stdout]     |
[INFO] [stdout] 120 |             extended_row.extend_from_slice(&self.row[1..]); // skip the prepended '.'
[INFO] [stdout]     |                                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d12.rs:124:18
[INFO] [stdout]     |
[INFO] [stdout] 124 |         for _ in 0..5 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for row_idx in 0..(height - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:60:24
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for col_idx in 0..(width - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:73:24
[INFO] [stdout]    |
[INFO] [stdout] 73 |         for row_idx in 0..(height - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:79:24
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for col_idx in 0..(width - 1) {
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d13.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |         for delta in 0..usize::min(row_idx + 1, height - row_idx - 1) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:106:22
[INFO] [stdout]     |
[INFO] [stdout] 106 |         for delta in 0..usize::min(row_idx + 1, height - row_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |         for delta in 0..usize::min(col_idx + 1, width - col_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d13.rs:137:22
[INFO] [stdout]     |
[INFO] [stdout] 137 |         for delta in 0..usize::min(col_idx + 1, width - col_idx - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 |             for i in 0..col.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:45:23
[INFO] [stdout]    |
[INFO] [stdout] 45 |             for i in (0..row.len()).rev() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |             for i in (0..col.len()).rev() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for i in 0..row.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d14.rs:99:18
[INFO] [stdout]    |
[INFO] [stdout] 99 |         for i in 0..n_iter {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 |         for x in 0..width {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for y in 0..height {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for x in 0..width {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d16.rs:95:18
[INFO] [stdout]    |
[INFO] [stdout] 95 |         for y in 0..height {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:120:18
[INFO] [stdout]     |
[INFO] [stdout] 120 |             .get(2..8)
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:127:41
[INFO] [stdout]     |
[INFO] [stdout] 127 |             u8::from_str_radix(&rgb_str[0..2], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:128:41
[INFO] [stdout]     |
[INFO] [stdout] 128 |             u8::from_str_radix(&rgb_str[2..4], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d18.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |             u8::from_str_radix(&rgb_str[4..6], 16)?,
[INFO] [stdout]     |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut xmas = s[1..(s.len() - 1)].split(',');
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:123:63
[INFO] [stdout]     |
[INFO] [stdout] 123 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:127:63
[INFO] [stdout]     |
[INFO] [stdout] 127 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:135:63
[INFO] [stdout]     |
[INFO] [stdout] 135 |             .ok_or::<String>("Not enough categories".into())?[2..]
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |             x: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |             m: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:159:16
[INFO] [stdout]     |
[INFO] [stdout] 159 |             a: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:160:16
[INFO] [stdout]     |
[INFO] [stdout] 160 |             s: 1..4001,
[INFO] [stdout]     |                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |         min..max
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:317:29
[INFO] [stdout]     |
[INFO] [stdout] 317 |             action_str = &s[(pos + 1)..];
[INFO] [stdout]     |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d19.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let value = s[2..].parse()?;
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d20.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |         for _ in 0..n_presses {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d21.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for n in 0..n_steps {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d21.rs:117:18
[INFO] [stdout]     |
[INFO] [stdout] 117 |         for _ in 2..n_periods {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:71:51
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut bricks_argsort_top: Vec<usize> = (0..bricks.len()).collect();
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:74:20
[INFO] [stdout]    |
[INFO] [stdout] 74 |         for idx in 0..bricks.len() {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d22.rs:81:55
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for idx_brick_below in bricks_argsort_top[0..idx_first_not_below].iter().rev() {
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d22.rs:106:40
[INFO] [stdout]     |
[INFO] [stdout] 106 |             for brick_above in &self.0[(idx + 1)..] {
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d23.rs:264:18
[INFO] [stdout]     |
[INFO] [stdout] 264 |         for y in 1..(height - 1) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d23.rs:265:22
[INFO] [stdout]     |
[INFO] [stdout] 265 |             for x in 1..(width - 1) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:22:18
[INFO] [stdout]    |
[INFO] [stdout] 22 |         for i in 0..self.0.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 |             for j in (i + 1)..self.0.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:56:41
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let mut intersections = zip(0..n, 1..n).map(|(i, j)| {
[INFO] [stdout]    |                                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let mut intersections = zip(0..n, 1..n).map(|(i, j)| {
[INFO] [stdout]    |                                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/puzzles/d24.rs:79:40
[INFO] [stdout]    |
[INFO] [stdout] 79 |             let mut z_intersections = (0..n).map(|i| {
[INFO] [stdout]    |                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d24.rs:308:21
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let range = 7.0f64..27f64;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/puzzles/d25.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let remaining_edges = edges[n..]
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/puzzles/d25.rs:171:28
[INFO] [stdout]     |
[INFO] [stdout] 171 |             let parents = (0..elem2idx.len()).collect();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/template/readme_benchmarks.rs:93:21
[INFO] [stdout]    |
[INFO] [stdout] 93 |     s.replace_range(positions.pos_start..positions.pos_end, &table);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/template/runner.rs:64:14
[INFO] [stdout]    |
[INFO] [stdout] 64 |     for _ in 0..bench_iterations {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `direction` is never used
[INFO] [stdout]    --> src/puzzles/d17.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | trait Node: Clone + std::hash::Hash + Ord + Sized {
[INFO] [stdout]     |       ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn direction(&self) -> Direction;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/puzzles/d05.rs:42:53
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn get_min_location_for_range(&self, range: Range<u64>) -> u64 {
[INFO] [stdout]    |                                                     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/puzzles/d24.rs:19:59
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn count_intersections_within_xy(&self, x_range: &Range<f64>, y_range: &Range<f64>) -> u32 {
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]   --> src/puzzles/d24.rs:19:81
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn count_intersections_within_xy(&self, x_range: &Range<f64>, y_range: &Range<f64>) -> u32 {
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `direction` is never used
[INFO] [stdout]    --> src/puzzles/d17.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | trait Node: Clone + std::hash::Hash + Ord + Sized {
[INFO] [stdout]     |       ---- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn direction(&self) -> Direction;
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors; 77 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `advent_of_code` (lib) due to 4 previous errors; 77 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 96 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cc814dc80d81ed3340235321836794d697ebd0bd0cecf02db6881960942a55e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc814dc80d81ed3340235321836794d697ebd0bd0cecf02db6881960942a55e0", kill_on_drop: false }`
[INFO] [stdout] cc814dc80d81ed3340235321836794d697ebd0bd0cecf02db6881960942a55e0
